/**
 * @file
 * @author  Tsin Smith <tsin.creator@gmail.com>
 *
 * @section DESCRIPTION
 *
 */

#ifndef __TSIN_RUNTIME_ENEMY_HPP__
#define __TSIN_RUNTIME_ENEMY_HPP__

#include <tsin/runtime/common.hpp>
#include <tsin/display/DisplayObject.hpp>
#include <tsin/library/BuiltinImages.hpp>

namespace tsin {

        static const int MAX_EVENTS = 10;
        class EnemyEvent;

        class RUNTIME_DLLEXPORT Enemy : public DisplayObject
        {
        public:
                Character character;

        public:
                Enemy();
                ~Enemy();

                bool addEvent(EnemyEvent *event);
                void checkEvents(bool early);

        private:
                EnemyEvent *events[MAX_EVENTS];
                int nrEvents;
        };

}

#endif /* __TSIN_RUNTIME_ENEMY_HPP__ */
